home *** CD-ROM | disk | FTP | other *** search
/ The Illustrated Works of Shakespeare / Illustrated Works of Shakespeare, The (1990)(Animated Pixels)[!][CDTV-PC].iso / shakes / code / tutorial.amos / tutorial.amosSourceCode < prev   
AMOS Source Code  |  1991-04-10  |  4KB  |  169 lines

  1. Set Buffer 20
  2. Global M_KEY,LAST_M_KEY,LAST_KEY$,K_KEY$
  3. Hide 
  4. X Mouse=288
  5. Y Mouse=200-(43*PAL)
  6. Screen Open 0,640,256,16,Hires
  7. Cls 0 : Curs Off : Flash Off 
  8. Z=0 : Z1=-1
  9. Z1$=Str$(Z)-" "
  10. Load Iff "Ap:Shakes/Graphics/Animated-Pixels.Iff",7
  11. Timer=0
  12. Set Envel 1,0 To 2,63
  13. MOUSE_CONVERT
  14. Load Iff "Ap:Shakes/Tutorial/Help_Screen"+Z1$,0 : Screen Hide 0
  15. 'Paste Bob 540,192,7 
  16. Screen Display 0,128,35,640,256
  17. Timer=0
  18. Repeat 
  19.    MOUSE_CONVERT
  20. Until M_KEY<>0 or Timer>50*5
  21. Screen Close 7
  22. Screen Show 0
  23. XM=0 : OLD_XM=-1
  24. Colour 17,$D97
  25. Colour 18,$D75
  26. Colour 19,$C54
  27. FLAG_EXIT=0
  28. SUB=0
  29. Repeat 
  30.    MOUSE_CONVERT
  31.    If(Z1>1 and Z=0) or Z<>0
  32.       If(M_KEY and 4)=4
  33.          XM=0
  34.       End If 
  35.       If(M_KEY and 8)=8
  36.          XM=1
  37.       End If 
  38.    End If 
  39.    If Z1=0 and Z=9
  40.       XM=1
  41.    End If 
  42.    If OLD_XM<>XM
  43.       Sprite 1,128+16+(XM*248),230,1
  44.    End If 
  45.    OLD_XM=XM
  46.    If(M_KEY and $10)<>0 and(XM=1)
  47.       FLAG_EXIT=1
  48.       Sprite 1,,,2
  49.       OLD_XM=-1
  50.    End If 
  51.    If(M_KEY and $10)<>0 and(XM=0)
  52.       Sprite 1,,,2
  53.       Wait Vbl 
  54.       OLD_XM=-1
  55.       Add Z1,1
  56.       Z1$=Str$(Z)-" "
  57.       If Z1>-1
  58.          B$=Chr$(Z1+Asc("a"))
  59.       Else 
  60.          B$=""
  61.       End If 
  62.       If Exist("Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$)
  63.          Load Iff "Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$,4 : Screen Hide 4
  64.          If Z<9 and Z>0
  65.             Paste Bob 12,192,6
  66.             Paste Bob 540,192,7
  67.          End If 
  68.          Screen 0
  69.          Fade 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 : Wait 16
  70.          Screen Copy 4 To 0
  71.          Fade 1 To 4,$FFFF
  72.       Else 
  73.          If Z<9
  74.             Z1=-1
  75.             Add Z,1
  76.             Z1$=Str$(Z)-" "
  77.             If Z1>-1
  78.                B$=Chr$(Z1+Asc("a"))
  79.             Else 
  80.                B$=""
  81.             End If 
  82.             Load Iff "Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$,4 : Screen Hide 4
  83.             If Z<9 and Z>0
  84.                Paste Bob 12,192,6
  85.                Paste Bob 540,192,7
  86.             End If 
  87.             Screen 0
  88.             Fade 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 : Wait 16
  89.             Screen Copy 4 To 0
  90.             Fade 1 To 4,$FFFF
  91.          End If 
  92.       End If 
  93.    End If 
  94.    If(M_KEY and $20)<>0
  95.       Sprite 1,,,2
  96.       Wait Vbl 
  97.       OLD_XM=-1
  98.       If Z1>-1
  99.          Add Z1,-1
  100.          B$=Chr$(Z1+Asc("a"))
  101.       Else 
  102.          Z1=-1
  103.          If Z>0
  104.             Add Z,-1
  105.             Z1$=Str$(Z)-" "
  106.             Z1=-1
  107.             Repeat 
  108.                If Z1>-1
  109.                   B$=Chr$(Z1+Asc("a"))
  110.                End If 
  111.                Inc Z1
  112.             Until Not(Exist("Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$))
  113.             Add Z1,-2
  114.          End If 
  115.       End If 
  116.       If Z1>-1
  117.          B$=Chr$(Z1+Asc("a"))
  118.       Else 
  119.          B$=""
  120.       End If 
  121.       Z1$=Str$(Z)-" "
  122.       If Exist("Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$)
  123.          Load Iff "Ap:Shakes/Tutorial/Help_Screen"+Z1$+B$,4 : Screen Hide 4
  124.          If Z>0
  125.             Paste Bob 12,192,6
  126.             Paste Bob 540,192,7
  127.          End If 
  128.          Screen 0
  129.          Fade 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 : Wait 16
  130.          Screen Copy 4 To 0
  131.          Fade 1 To 4,$FFFF
  132.       End If 
  133.    End If 
  134. Until FLAG_EXIT=1
  135. Load Iff "Ap:Shakes/Tutorial/Help_End",4 : Screen Hide 4
  136. Screen 0
  137. Fade 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 : Rem  Wait 16   
  138. Screen Copy 4 To 0
  139. Fade 1 To 4,$FFFF
  140. Screen Close 4
  141. Sprite Off 1 : Erase 1
  142. Wait 1
  143. Run "Ap:Shakes/Code/Shakespeare.Amos"
  144. Procedure MOUSE_CONVERT
  145.    X Mouse=288
  146.    Y Mouse=200-(43*PAL)
  147.    M_KEY=0
  148.    OLD_TIMER=Timer
  149.    Repeat 
  150.       XT=X Mouse
  151.       YT=Y Mouse
  152.       If YT<200-(43*PAL) Then M_KEY=(M_KEY or 1)
  153.       If YT>200-(43*PAL) Then M_KEY=(M_KEY or 2)
  154.       If XT<288 Then M_KEY=(M_KEY or 4)
  155.       If XT>288 Then M_KEY=(M_KEY or 8)
  156.       K_KEY$=Inkey$
  157.       If Key State($4C) Then M_KEY=(M_KEY or 1)
  158.       If Key State($4D) Then M_KEY=(M_KEY or 2)
  159.       If Key State($4F) Then M_KEY=(M_KEY or 4)
  160.       If Key State($4E) Then M_KEY=(M_KEY or 8)
  161.       If Key State($50) Then M_KEY=(M_KEY or 16)
  162.       If Key State($51) Then M_KEY=(M_KEY or 32)
  163.       If Key State($45) or Key State(95) Then M_KEY=(M_KEY or 64)
  164.       If Key State($43) Then M_KEY=(M_KEY or 128)
  165.       M_KEY=M_KEY+(Mouse Key*16)
  166.    Until M_KEY<>0 or NO_REPEAT_FLG=1 or(Timer>OLD_TIMER+4) or(K_KEY$<>"")
  167.    If(M_KEY and $FF)<>0 and SND_FLAG=0 and(LAST_M_KEY<>M_KEY) Then Play $F,50,0
  168.    LAST_M_KEY=M_KEY : LAST_KEY$=K_KEY$
  169. End Proc